#pragma once
#include <cassert>
#include "math/Vector3.h"
#include "NIJoint.h"
#include "RotateParam.h"

#define JOINT3D_ERROR 30
#define JOINT3D_X_ERROR 30
#define JOINT3D_Y_ERROR 30
#define Vector3_Error 0.05

class NIJointManager
{
public:
	NIJointManager(xn::SkeletonCapability& xnSC);

	void		Update(XnUserID userID);

	RotateParam	GetRotateParam(int idx1,int idx2);

	inline NIJoint& operator [] ( const size_t i )
	{
		assert( i < m_Joints.size() );
		return m_Joints[i];
	}
private:
	xn::SkeletonCapability&	m_SC;
	std::vector<NIJoint>	m_Joints;
};

